草庐IT

Lua 垃圾回收

全部标签

c++ - 如果/何时回收释放的堆内存?

我一直在嵌入式Linux系统上运行夜间内存测试。使用vmstat我观察到可用内存随着时间的推移稳步减少。根据procfs中的一些smaps分析,一个进程的堆以大致相同的速度增长。我怀疑存在内存泄漏,并在代码中发现了一些经常使用new和delete的地方。但是,我没有看到没有匹配的delete调用的new调用。我再次运行内存测试,今天早上使用以下调用清除了内存缓存echo3>/proc/sys/vm/drop_cachesvmstat中列出的可用内存下降到接近测试开始时的值。内核是否定期回收未使用的堆页面?如果是这样,除了上面的一次之外,还有其他时间吗?可能是当可用内存低于某个阈值时?

linux - 编译 Lua - 创建 .so 文件?

我在Centos6.5上编译Lua5.2.3,编译/安装工作正常。但是,我还需要另一个程序的开发库来编译。我通常会通过这样做来安装它们:yuminstalllua-devel问题是安装了Lua5.1共享库,而不是5.2.3共享库。我可以只使用Centos存储库中的Lua5.1运行,但如果让最新版本工作是一件简单的事情(对于知道的人)那么我会很感激有人给我指路。对我来说,Linuxmakefile还是有点儿不好,好吧,你知道...编辑我找到了这个网站-http://lua-users.org/lists/lua-l/2006-10/msg00091.html-很久以前建议对makefil

linux - 编译 Lua - 创建 .so 文件?

我在Centos6.5上编译Lua5.2.3,编译/安装工作正常。但是,我还需要另一个程序的开发库来编译。我通常会通过这样做来安装它们:yuminstalllua-devel问题是安装了Lua5.1共享库,而不是5.2.3共享库。我可以只使用Centos存储库中的Lua5.1运行,但如果让最新版本工作是一件简单的事情(对于知道的人)那么我会很感激有人给我指路。对我来说,Linuxmakefile还是有点儿不好,好吧,你知道...编辑我找到了这个网站-http://lua-users.org/lists/lua-l/2006-10/msg00091.html-很久以前建议对makefil

linux - x86-64 SysV ABI 中参数和返回值寄存器的高位是否允许垃圾?

x86-64SysVABI指定了如何在寄存器中传递函数参数(在rdi中的第一个参数,然后是rsi等),以及如何将整数返回值传回(在rax和然后rdx对于非常大的值)。然而,我找不到的是,当传递小于64位的类型时,参数或返回值寄存器的高位应该是什么。例如,对于以下函数:voidfoo(unsignedx,unsignedy);...x将在rdi中通过和y在rsi,但它们只有32位。做rdi的高32位和rsi必须为零?直觉上,我会假设是的,但是codegenerated所有gcc、clang和icc都有特定的mov开始时的指令将高位清零,因此编译器似乎另有假设。同样,编译器似乎假定返回值的

linux - x86-64 SysV ABI 中参数和返回值寄存器的高位是否允许垃圾?

x86-64SysVABI指定了如何在寄存器中传递函数参数(在rdi中的第一个参数,然后是rsi等),以及如何将整数返回值传回(在rax和然后rdx对于非常大的值)。然而,我找不到的是,当传递小于64位的类型时,参数或返回值寄存器的高位应该是什么。例如,对于以下函数:voidfoo(unsignedx,unsignedy);...x将在rdi中通过和y在rsi,但它们只有32位。做rdi的高32位和rsi必须为零?直觉上,我会假设是的,但是codegenerated所有gcc、clang和icc都有特定的mov开始时的指令将高位清零,因此编译器似乎另有假设。同样,编译器似乎假定返回值的

linux - bash 中的垃圾收集

bash是否运行垃圾收集器?它可以通过一些命令行选项来控制吗?我在网上找不到任何关于此的信息。我有一个运行的bash脚本,几天后它的内存使用量增加了。我想知道内存的去向。 最佳答案 Bash本身并不运行垃圾收集器。由于它没有引用的概念,所以没有引用就不需要查找数据。不过,它会释放不再使用的内存。下面是声明和覆盖大变量前后内存使用情况的简单演示。内存使用率上升然后再次下降:ps-orss-p$$var=$(printf"%s\n"{1..100000})ps-orss-p$$var="smallstring"ps-orss-p$$

linux - bash 中的垃圾收集

bash是否运行垃圾收集器?它可以通过一些命令行选项来控制吗?我在网上找不到任何关于此的信息。我有一个运行的bash脚本,几天后它的内存使用量增加了。我想知道内存的去向。 最佳答案 Bash本身并不运行垃圾收集器。由于它没有引用的概念,所以没有引用就不需要查找数据。不过,它会释放不再使用的内存。下面是声明和覆盖大变量前后内存使用情况的简单演示。内存使用率上升然后再次下降:ps-orss-p$$var=$(printf"%s\n"{1..100000})ps-orss-p$$var="smallstring"ps-orss-p$$

c - 多线程 C Lua 模块导致 Lua 脚本中出现段错误

我为Lua编写了一个非常简单的C库,它由一个启动线程的函数组成,该线程除了循环之外什么都不做:#include"lua.h"#include"lauxlib.h"#include#includepthread_thandle;void*mythread(void*args){printf("Inthethread!\n");while(1);pthread_exit(NULL);}intstart_mythread(){returnpthread_create(&handle,NULL,mythread,NULL);}intstart_mythread_lua(lua_State*L)

c - 多线程 C Lua 模块导致 Lua 脚本中出现段错误

我为Lua编写了一个非常简单的C库,它由一个启动线程的函数组成,该线程除了循环之外什么都不做:#include"lua.h"#include"lauxlib.h"#include#includepthread_thandle;void*mythread(void*args){printf("Inthethread!\n");while(1);pthread_exit(NULL);}intstart_mythread(){returnpthread_create(&handle,NULL,mythread,NULL);}intstart_mythread_lua(lua_State*L)

java - 使用 logrotate 的垃圾收集器日志 (loggc) 文件轮换无法正常工作

在Linuxlogrotate命令中使用JVM垃圾收集日志选项时,我遇到了一个奇怪的问题。执行旋转时,它会在作为参数提供给JVM的文件的第一行填充NUL(^@)值。假设这是java调用(Test.class位于/home/test/):java-Xloggc:/home/test/test.log-cp/home/test/Test此文件的logrotate配置如下:/home/test/test.log{   rotate56   missingok   notifempty   copytruncate   nocreate   nomail}为了测试目的,我还有一个crontab